package com.shujia.scala

import scala.io.{BufferedSource, Codec, Source}

object Demo31implicit {
  def main(args: Array[String]): Unit = {

    /**
      * 隐式转换参数
      * 可以简化方法调用
      *
      */
    //函数柯里化
    def add(x: Int)(implicit y: Int): Int = {
      x + y
    }

    println(add(1)(2))

    //隐式转换变量
    //同意作用域中不能出现两个类型一样的隐式转换变量
    implicit val i: Int = 100
    //在调用方法的时候会自动使用当前作用域中的隐式转换变量填充方法的隐式转换参数，类型要一致
    println(add(300))


    //应用

    val source: BufferedSource = Source.fromFile("data/students.txt")(Codec("utf-8"))


  }

}
